package com.example.toy.core.dataset;

import com.example.toy.core.engine.EngineContext;
import com.example.toy.core.function.SerializableBiFunction;
import com.example.toy.core.function.SerializableFunction;

/**
 * @author shenb
 * @date 2021-12-20 22:01
 */
public interface BigPairCollection<K, V> {
  EngineContext getContext();

  <R> BigCollection<R> map(SerializableFunction<Pair<K, V>, R> serializableFunction);

  BigCollection<V> reduceByKey(SerializableBiFunction<V, V, V> biFunction);
}
